Method of deriving a correlation

ABSTRACT

A method of deriving a correlation between observed values from e.g. a process, where initial values are derived from ingredients or process parameters and a second value from a resulting product. A number of candidate mathematical functions are generated in a grid-type flow structure in which tokens flow through nodes, each node determining a mathematical function, so that a token defines a number of mathematical functions and an order thereof. Tokens may be combined so that the functions include multiple variables. A best, resulting mathematical function may be determined and the grid structure amended to favour this function and the method may be repeated.

The present invention relates to a method of deriving a correlation andin particular a manner of deriving a correlation between input valuesand an output value, such as input values from parameters of a function,such as a production process, and an output value, such as from aproduct of the production process. The input values could beconcentrations of ingredients, pH, temperature, or the like, and theoutput value could be a quality of the resulting product. The productcould be brought about using enzymes, where the product quality couldvary due to e.g. amino acid mutations of the enzymes. Thus, the inputvalues could represent amino acid parameters (such as mutation or notand of which enzyme) and the output could relate to a quality orparameter of the resulting product.

Another example would be the determination of a correlation between anumber of features of persons and an occurrence of a particular diseasewhere the diagnosis of the disease is the output parameter.

A further example would be a process or condition in the human body,where the initial parameters may be physical parameters determined fromthe body, such as temperature, age, sex, concentration of a substance, apresence of a predetermined genetic defect or deviation, or the like,and where the second value or parameter may be a presence or not of aphysical condition, such as a predetermined type of cancer or othercondition. The second value or parameter may alternatively oradditionally quantify the physical condition, such as a concentration,stage or amount of the condition.

From the input values and the output value, the present method iscapable of estimating or the identification of mathematical correlationsbetween the input values and the output value.

In a first aspect, the invention relates to a method of deriving acorrelation between observed values, the method comprising:

-   -   a) observing a plurality of data sets each comprising a        plurality of first values and at least a second value from a        process, the process generating a resulting product, the first        values being observed during the process and the second value(s)        from the resulting product,    -   b) generating a data flow structure representing:        -   a detecting node,        -   a plurality of nodes, each node capable of:            -   select a mathematical function from a predetermined                group of functions and            -   select another node or the detecting node,    -   c) for each of a plurality of runs:        -   selecting one input node, of the plurality of nodes, for            each first value,        -   sequentially, selecting a mathematical function and a next            node or the detecting node, until no more nodes are            selected,        -   logging the input nodes and which first value they relate to            as well as, for each input node and each selected node:            -   which mathematical function was selected, and            -   which node or the detecting node was selected, and        -   combining the mathematical functions, on the basis of the            logged nodes, the order thereof and the mathematical            functions thereof, into one or more final mathematical            functions, and    -   d) deriving the correlation by:        -   for each data set and each final mathematical function:            -   determining an output value of the final mathematical                function by entering the first values of the data set                into the mathematical function, and            -   comparing the output value to the second value of the                data set,        -   selecting, from the comparisons, the final mathematical            function generating the output values corresponding best to            the pertaining second values.

In this context, the steps of the method need not be in the describedorder.

The process and the observed values may be any type of process and anytype of values. A process may be a process of manufacturing an elementor creating an element. The process may be a chemical process, where thefirst values may relate to initial or intermediate ingredients oradditives and where the second value may relate to a desired parameterof the resulting product. The resulting product need not be the finalproduct of the process. The resulting product in this context may be anintermediate product of an overall process.

A data set is a set of values where the second value(s) is/aredetermined from the process based on or resulting from the first valuesor the ingredients/additives/parameters from which the first values aredetermined.

Multiple data sets are determined, such as over time, where at least onevalue varies between data sets. Data sets may be determined over time,such as by varying parameters of the process or by repeating the processwith different parameters, where the parameters are represented in atleast some of the first values.

Having then arrived at the correlation between the first and secondvalues, a better control of the process may be achieved to optimize aproperty quantified or indicated by the second value.

The process may be a chemical process where initialingredients/parameters may be varied in some sense, such asconcentrations, temperature, time and the like.

Some processes are not easily seen through, such as processes in thehuman body. Thus, the potency of a drug or the risk of contracting adisease may be desired predictable even though the actual process may bea black box. In that situation, the first values may be parameters of adrug delivered to a person, such as dose size, number of doses, timesbetween doses, or characteristics of the person, such as age, sex, bloodpressure, whether the person has a particular gene defect or not,whether a person has a certain condition or not, or a quantificationsuch as temperature, immune response, oxygen uptake, number of T cellsper ml blood, and the like. The second value may relate to whether theperson contracts the disease or not, or an immune response of theperson, or the like.

In general, the first values need not be known to be influential in theresult and thus the second value. The present method can be used to ruleout irrelevant or less important values. This may be a part of theresult of the method.

The values are observed in any desired manner. This observation may be asensing/detection or the like of the values. A value may be a realnumber, such as a concentration or weight, a binary number, such aswhether a gene defect is present or not, or the like.

The data flow structure may be implemented in a plurality of manners.Specific hardware may be built creating this structure or a softwareprogrammed architecture may be programmed to embody the data flowstructure.

The structure comprises a detecting node. In fact, multiple detectingnodes may be employed. The detecting node marks the end of a sequence ofselected nodes. If multiple detecting nodes are employed, differentdetecting nodes may form the end of different paths or differentsequences of selected nodes so that more candidates are available forthe analysis described below.

A plurality of nodes is provided which are capable of selecting one ormore other nodes as well as a mathematical function.

Any number of nodes may be provided. All nodes may be able to select allnodes. Alternatively, a node may be allowed to only select some nodes.In a preferred embodiment, the nodes are, at least virtually, providedat intersections in a grid and allowed to only select the nearestneighbours. For each node, a set of other nodes may be defined which maybe selected.

A number of runs are performed. Each run comprises selecting one inputnode for each first value. Multiple input nodes may be selected for anyinput value. In each input node, a mathematical function will beselected as well as another node or the detecting node.

Then, the data flow structure performs its operation: each selected nodeselects a mathematical function as well as another node or the detectingnode. This process may continue until no more nodes are being selected.This state or situation may be ascertained or determined in a number ofmanners. In one manner, account is made of each node newly selected. Thenode may be deleted from this group/list once it has selected anothernode, which is then put on the list or added to the group. The listbecomes shorter, when a node selects the detecting node, which is notput on the list. Alternatively, a search may be made through thestructure for nodes which have been selected and which have not yetselected another node.

In a preferred embodiment, tokens may be simulated flowing through theflow structure from each input node to the selected nodes and so on,until all tokens are received by the detecting node. When all tokens areat the detecting node, the process has stopped. For each token, theorder of the nodes and their individually selected mathematicalfunctions may now be combined into a final mathematical function.

No more nodes are selected when, for example, no nodes, apart from thedetecting node, exist which have been selected and which have themselvesnot selected another node or the detecting node.

The input nodes, the selected nodes as well as the mathematicalfunctions selected are logged. Then, final mathematical functions aredetermined by combining the mathematical functions selected in each nodeof a sequence of nodes, selecting each other, as well as the orderthereof.

A run starts with the selection of a plurality of input nodes initiatingthe sequences of selections until the detecting node is selected. Eachsequence of selected nodes may be denoted a path and each run thus maycomprise a plurality of paths. Each selected input node may represent ina path. Below, path merging is described, so that a run may comprisefewer paths than the number of selected input nodes.

It is noted that each node may select the mathematical function from apredetermined group of mathematical functions. This selection may berandom or may be based on a weight distribution between the availablemathematical functions so that one mathematical function may be morelikely to be selected than others.

Also, each selected node may select the next node on a random basis.Alternatively, a weight distribution may be used between the other nodesor the nodes to which this node is allowed to select, including thedetecting node, so that one node is more likely to be selected thanothers.

For each selecting of the detector node, the sequence of selected nodesfrom the initial node(s) and to the detecting node is determined orlogged. Also, the mathematical function(s) are logged. This sequencewill define the final mathematical function of that path.

The order of the mathematical functions will have an impact on the finalmathematical function. Clearly, a squaring function and a sine functionwill, when combined, give different outputs depending on whether thesquaring function is performed initially or last. The order of themathematical functions, when determining the final mathematicalfunction, may be any predetermined order. In principle, any order may beselected as long as it is reproducible, but it may be preferred that theorder of the selection of the mathematical functions (or the reverseorder thereof) is used, as this is the simplest method.

The final mathematical functions are then candidates for the correlationsought for.

Having then determined the final mathematical functions, each finalmathematical function is performed on the initial values of each dataset to generate a plurality of output values. For each finalmathematical function and data set, the resulting output value is thencompared to the second value of the data set.

Now, from these comparisons, the final mathematical function may beselected, the output value of which corresponds the best to thepertaining second value. In this respect, the comparison may be a simplecomparison between numbers and that or those output data which is/arethe closest may be identified.

A final mathematical function is checked for each data set, so amathematical function may be evaluated across data sets by e.g.deriving, for each final mathematical function, a value derived from thecomparisons of all output values and the second values of the data sets.This final value could be e.g. based on a sum, over all data sets, ofsquared differences between the output value and the second value ofeach data set. A large number of manners exist of selecting one methodover a plurality of methods across a number of data sets.

Naturally, some parameters of a process may interact, so that it wouldbe desirable to facilitate this by allowing a node to be configured to,if selected by two nodes, select a mathematical function from a group offunctions accepting two variables.

Having been selected by two nodes, the node may be configured to stillselect only one next node. Then, the first values interact in the sensethat the output data will depend on both input values as well as thefunction selected.

Then, the nodes may have two groups of mathematical functions available,one for the situations when the node is selected by only a single nodeand another for the situations where the node is selected by two nodes.

Clearly, nodes may be capable of selected by more than two nodes. Inthat situation, functions should be available able to handle therequired number of input data.

Also, it may be desired to allow a node to select more than a single,next node. In that situation, multiple paths, having commonportions/nodes, will be formed.

It may be desired that all nodes select the next node synchronously. Inthis context, “synchronously” need not be at exactly the same point intime, but it may be desired that all nodes perform the selection or areselected at at least substantially the same time. For example, all nodesmay be selected within a period of time before that point in time. Then,delays and the like may be taken account, as is seen in both hardwarecentric set-ups and software controlled set-ups, usually based onheavily parallel architectures. This is especially relevant when a nodeneeds to determine whether it has been selected by one or two (or more)nodes. These selection decisions need not be made at exactly the samepoint in time, but in this manner, the node may select the correct typeof mathematical function at a point in time where it has beenascertained that all nodes have made their selections. Then, delays willnot result in a situation where a node makes the wrongdecision/selection before being selected by all relevant nodes.

Thus, a clocking signal may be provided, or the method may ensure thatall nodes make their selections of the next node(s), before themathematical functions are selected and the next node(s) is/areselected.

Then, the runs/paths may be determined to be at an end, when a point intime occurs where no nodes are to select mathematical function and nextnode(s). This will be when all paths/runs have ended in the detectingnode(s), which is not capable of selecting further nodes.

The present method has a number of applications, in one situation, theobserving step comprises at each time:

-   -   providing a number of ingredients for the process and        determining a first value from each of a plurality of the        ingredients and    -   deriving the second value from a resulting product of the        process and    -   the method further comprising the subsequent steps of:        -   determining from the correlation alternative ingredients and        -   carrying out the process with the alternative ingredients.

In this situation, the correlation describes how the ingredients,characterized by the first values, influence the parameter of theresulting product. Thus, this correlation may be used for selectingoptimal, such as alternative ingredients, where an alternative may bethe same ingredient in another concentration or amount.

The alternative ingredients, for example, may be determined by reversecalculation from a desired second value, which characterizes an optimalor desired final product, to arrive at first values which, by thecorrelation, result in the desired second value. As the correlation is asimulation or representation of the process, using ingredientsrepresented by the first values, is expected to provide a final productrepresented by the desired second value.

Naturally, one or more of the first values may relate not to ingredientsbut to process parameters, such as timing between adding ingredients,temperatures or the like. Then, also this parameter may be derived fromthe reverse calculation.

In other situations, the correlation relates to drugs administered to ahuman and/or animal body, where, based on the correlation, the next stepcould be to determine, from the correlation, an altered amount,concentration, size of one or more doses and/or altered periods of timebetween doses and/or other drugs or combinations thereof andadministering the altered dose(s) to one or more humans or animals.

As described above, the step of selecting the mathematical function maycomprise selecting the mathematical function based on a firstdistribution function representing, for each of the functions in thepredetermined group of functions, a probability of the pertainingfunction being selected. Then, from the selected final mathematicalfunction, the pertaining nodes selected and the mathematical functionsselected by the nodes are identified and, in the input node(s) and eachidentified node, increasing the probability of selecting the pertainingselected mathematical function. Repeating steps c) and d) now results ina new set of final mathematical functions which are biased toward theselected final mathematical function of the first or former iteration ofsteps c) and d). This biasing will tend to arrive at final mathematicalfunctions with similarities with the former selected final mathematicalfunction but may perform better.

In addition or alternatively, the step of selecting the node maycomprise selecting the node based on a second distribution functionrepresenting, for each of the nodes, a probability of the pertainingnode being selected. Then, from the selected final mathematicalfunction, the pertaining nodes selected by the nodes are identified and,in the input node(s) and each identified node, increasing theprobability of selecting the pertaining selected node. Repeating stepsc) and d) now results in a new set of final mathematical functions whichare biased toward the selected final mathematical function of the firstor former iteration of steps c) and d). This biasing will tend to arriveat final mathematical functions with similarities with the formerselected final mathematical function but may perform better.

Clearly, the above may be re-iterated so as to further adapt the firstdistribution functions.

In the following, preferred embodiments of the invention will bedescribed with reference to the drawing, wherein:

FIG. 1 illustrates a 2-dimensional structure of nodes, a gundistribution and a node distribution,

FIG. 2 illustrates a path in the structure of FIG. 1,

FIG. 3 illustrates two paths,

FIG. 4 illustrates combination of information in nodes and correspondingfunction graphs,

FIG. 5 illustrates a function graph, and

FIG. 6 illustrates a process.

In FIG. 1, a data structure illustrating a two-dimensional lattice 10 isillustrated having a plurality of nodes 12. In this structure, a nodemay communicate with any of the neighbouring nodes in the structure.Communication in the lattice is by transmission of particles or tokensfrom node to node. In this structure, as illustrated, each node has 8neighbouring nodes from which it may receive tokens and to which it mayoutput tokens.

A gun 14 is illustrated which is capable of launching tokens to thenodes.

A detector 16 is illustrated which may receive tokens from the nodes 12.

The manner in which the structure operates is that the gun launches atoken into a node which transmits the token to one of the nodes withwhich it is able to communicate, and that this function goes on until anode launches the token to the detector.

The selection, in the gun, of which initial node to forward the token tois determined by a distribution function of the gun. From this, aninitial node is selected. Also, each node comprises a distributionfunction describing the relative weights or probabilities for each ofthe other nodes to which this node can forward tokens. Thus, thedetermination of to which next node to feed the token to is made basedon this distribution function. The distribution function for the nodewill also include the detector, allowing a mechanism for feeding tokensto the detector and thus ending the path.

As will be described below, a node will select a mathematical functionwhen receiving a token. Thus, as the token moves through the nodes, eachnode will select a mathematical function, so that the functions selectedand the order thereof determined by the order in which the nodesreceived the token will determine a final mathematical function (seebelow).

A path, in this context, will be the sequence of nodes visited by atoken from the gun to the detector. A path is seen in FIG. 2. A paththus results in a final mathematical function.

The same could be obtained if initial information was fed into the firstnode which performed the selected function on the input information toarrive at altered information which was transmitted to the next nodewhich would perform its selected mathematical function on the receivedinformation to again arrive at amended information. This would berepeated until the detector was selected which would then receive theoutput value of the last node. This output value will be the resultingfunction performed on the initial information.

In each node, a multiple of mathematical functions is available. Thus,when a node receives a token it will select a mathematical functionusually among a plurality of available or predetermined mathematicalfunctions. The function is selected based on a distribution function inthe same manner as the next node is selected.

Relevant functions could be multiple, such as x², x³, sin(x), x²+y²,tanh(Wx+y), gauss(x), sin(Wx+y), where W and y may be randomly selectedor randomly chosen for the complete operation.

Clearly, launching, sequentially, tokens from the gun will arrive atdifferent paths and thus different final mathematical equations.

Thus, the token's path through the grid and the mathematical functionsselected is based on distribution functions which, as will be describedbelow, may be altered or optimized.

As seen in FIG. 3, multiple tokens may be launched into the structure atthe same time from the same or different guns. In this situation, tokenswill move in the grid at the same time. This may result in differentpaths as is seen in FIG. 3, where each token moves from gun to detectoralong its own path. However, as seen in FIG. 4, situations may thenoccur where two tokens arrive at the same node. Clearly, the node couldsimply select a mathematical function for each token and a next node foreach token, so that the tokens again had individual paths. However, inthis situation, the node preferably selects a mathematical functionwhich is able to receive two variables and then output a single token.

Mathematical functions suitable for receiving two variables may besubtraction, multiplication, division, but also tanh(W₁x+W₂y+b),gauss(x,y), or the like, where x and y are the two variables and W₁, W₂and b are randomly selected, such as for the complete operation.

Naturally, functions may be available capable of receiving even morevariables.

This again results in a final mathematical equation which now has morethan one variable.

To be able to determine that two tokens arrive at the same node at thesame time, it may be desired to transport tokens from node to node in acoordinated fashion, such as simultaneously in the grid. Thus, alltokens are transported at the same time. For this purpose, a generalclock is provided which controls the token flow. For each beating ofshifting of the clock, the tokens are exchanged between transmitting andreceiving nodes. Then, when a node receives two tokens at the same time,a suitable function is selected.

Thus, in such instances, launching one number of tokens into the gridwill result in a fewer number of tokens received by the detector.

Again, a sequence of launches, where each launch feeds multiple tokensinto the grid at the same time, will arrive at a number of finalmathematical functions, some of which may have multiple variables.

To put the grid and the functions into a practical perspective, considera process, such as a chemical process where a number of observations aremade from initial parameters such as ingredients or process parametersand where a resulting or second value is determined from an intermediateproduct or an end product of the process. Then, it would be desirable tolearn how the second value depends from the initial value to e.g.optimize the end product by arriving at a predetermined value for thesecond value—by adapting the initial parameters.

In FIG. 6, a process P is seen in which a number of ingredients A, B andC are processed under conditions or parameters D to an end result E. Theingredients A, B and C may be characterized by values, which may be thefirst values. The process parameter D may also be a first value, and theend result or product E may be characterized by a value which may be asecond value.

Thus, the process converts the ingredients using the parameter D intothe end result.

This conversion may be simulated or equated to a mathematical conversionof the values A, B and C (and potentially D) into E. Having determinedthis mathematical conversion, it may be possible to determine an optimalor desired end product or value E and estimate relevant values A, B, Cand/or D which the process will convert into the desired end product.

Thus, a mathematical function is desired into which the initialparameters, or at least some of these, are entered where the output ofthe function corresponds or correlates to the parameter of theend/intermediate product.

Thus, firing into the grid a number of tokens corresponding at least tothe number of initial parameters and assigning an initial parameter toeach token will arrive at a number of final mathematical functions fromwhich output values may be generated when entering the pertaininginitial values. These output values may then be compared to the secondvalue from the process.

This process may be repeated, so that the guns are fired sequentially anumber of times and the resulting mathematical functions identified.Each firing of the guns may be called a “run”. As mentioned, the pathsof the tokens and the mathematical functions selected in the nodes areselected from distribution functions so that each run (firing of theguns) will probably arrive at a different a different final mathematicalfunction or a selection of different final mathematical functions.

From a number of runs, a number of different final mathematicalfunctions will be arrived at which will include different variables(initial values). All final mathematical functions may then be tested byfeeding the pertaining initial parameters into the functions andcomparing the output information to the pertaining second value.

Clearly, multiple sets of initial values and second value may beobtained from the process so that each set is used with the functionsfrom each run.

From the comparison of each final mathematical function across all setsof values, an overall performance or correlation of the finalmathematical function may be arrived at. This determination may be madein a number of manners, such as a square root of the differences,squared, between the output value and the second value of each set. Inother situations, a correspondence between the output value and inputparameters may be sought for, so that final mathematical functionscomprising this correspondence are favoured. For example, it may beexpected that two initial values have an effect on each other so that amathematical function comprising both would be expected. One or moreinitial values may be known to have an effect on the second value andthus may be required in the final mathematical function.

Also, a final mathematical function may be selected with a particularnumber, a minimum number or a maximum number of variables ormathematical operations therein. In this manner, the complexity orsimplicity of the final function may be affected. Compared to standardAI methods from which the correlation is obscure, this makes it possibleto select a correlation which is simple.

Having now identified the optimal or desired final mathematicalfunction, the run or path may be accessed, and the nodes andmathematical functions identified.

Then, the distribution functions of the gun(s), and the nodes of therun/paths may be altered so as to favour the run/paths taken by thetokens to arrive at the final mathematical function. Thus, in each ofthe nodes, the distribution function for selecting the mathematicalfunction may be altered so that the probability of selecting thatmathematical function is increased compared to the other selectablemathematical functions. Also, in the node, the distribution function forselecting the next node or the detector is altered to increase theprobability of the next node or the detector of this particular path/runto be selected compared to the other nodes/detector.

Then, firing again the guns to feed tokens into the modified grid,portions of the former, optimal final mathematical function are givenhigher probabilities. Thus, tokens may travel outside of the nodes ofthe path/run leading to that function but may find themselves in a nodethereof and thus follow that path/run to the detector or for a bit andthen move outside of the path/run again. Thus, modifications ormutations are seen of the (original) final mathematical function of thefirst runs.

Again, a number of runs may be performed in each of which the guns firetokens and the detector collects tokens and wherein final mathematicalfunctions are derived. These final mathematical functions now will havesimilarities with the “original” final mathematical function and thusmay well provide an even better correlation between the values of thedata sets.

This operation of adapting the grid and performing new runs may berepeated any number of times.

In principle, a node may also be able to receive single token, select amathematical function and then output two tokens to each of two othernodes. This would merely correspond to the process of FIG. 2 where twopaths have common initial portions.

Clearly, the 2-dimensional structure of FIG. 1 may be extended into anydimension, such as 3-dimensional. Then, the nodes will be able to outputtokens to nodes of other dimensions. More dimensions allow moredifferent paths to be found even though some nodes are, due to theirweight functions, more biased toward a particular path. Thus, the moredimensions, the more optimizations or updates may be made and the bettera simulation may be arrived at.

1. A method of deriving a correlation between observed values, themethod comprising: a) observing a plurality of data sets each comprisinga plurality of first values and at least a second value from a process,the process generating a resulting product, the first values beingobserved during the process and the second value(s) from the resultingproduct, b) generating a data flow structure representing: a detectingnode, a plurality of nodes, each node capable of: select a mathematicalfunction from a predetermined group of functions and select another nodeor the detecting node, c) for each of a plurality of runs: selecting oneinput node, of the plurality of nodes, for each first value,sequentially, selecting a mathematical function and a next node or thedetecting node, until no more nodes are selected, logging the inputnodes and which first value they relate to as well as, for each inputnode and each selected node: which mathematical function was selected,and which node or the detecting node was selected, and combining themathematical functions, on the basis of the logged nodes, the orderthereof and the mathematical functions thereof, into one or more finalmathematical functions, and d) deriving the correlation by: for eachdata set and each final mathematical function: determining an outputvalue of the final mathematical function by entering the first values ofthe data set into the mathematical function, and comparing the outputvalue to the second value of the data set, selecting, from thecomparisons, the final mathematical function generating the outputvalues corresponding best to the pertaining second values.
 2. A methodaccording to claim 1, wherein a node is configured to, if selected bytwo nodes, select a mathematical function from a group of functionsaccepting two variables.
 3. A method according to claim 1, wherein allnodes synchronously select the next node or the detecting node.
 4. Amethod according to claim 1, wherein the observing step comprises foreach data set: providing a number of ingredients for the process anddetermining a first value from each of a plurality of the ingredientsand deriving the second value from a resulting product of the processand the method further comprising the subsequent steps of: determiningfrom the correlation alternative ingredients and carrying out theprocess with the alternative ingredients.
 5. A method according to claim1, wherein: the step of selecting the mathematical function comprisesselecting the mathematical function based on a first distributionfunction representing, for each of the functions in the predeterminedgroup of functions, a probability of the pertaining function beingselected, and the step of selecting the node comprises selecting thenode based on a second distribution function representing, for each ofthe nodes, a probability of the pertaining node being selected.
 6. Amethod according to claim 5, further comprising the steps of:determining from the selected, final mathematical function, thepertaining input nodes, the nodes selected and the mathematicalfunctions selected, increasing, in the input nodes and the selectednodes, the probability of selecting the pertaining selected nodes,increasing, in the input nodes and the selected nodes, the probabilityof selecting the pertaining selected mathematical functions andrepeating steps c) and d).